Caching হল একটি কৌশল যা অ্যাপ্লিকেশনের পারফরম্যান্স উন্নত করতে ব্যবহৃত হয়। এটি সাধারণত বারবার ব্যবহৃত ডেটা বা রিসোর্স সাময়িকভাবে সংরক্ষণ করে, যাতে ডেটাবেস বা সার্ভারের সঙ্গে পুনরায় যোগাযোগ করার প্রয়োজন না হয়। ASP.Net MVC-তে ক্যাশিং বিভিন্ন স্তরে প্রয়োগ করা যায়, যার মধ্যে Output Caching অন্যতম।
ডেটা অ্যাপ্লিকেশনের মেমোরিতে সংরক্ষণ করা হয়। এটি দ্রুত ডেটা অ্যাক্সেসের জন্য ব্যবহৃত হয়। সাধারণত, ছোট এবং অস্থায়ী ডেটা সংরক্ষণের জন্য এটি ব্যবহৃত হয়।
ডেটা একটি কেন্দ্রীয় স্টোর (যেমন Redis, Memcached) এ সংরক্ষণ করা হয়, যা একাধিক সার্ভারের মধ্যে শেয়ার করা যায়। এটি স্কেলেবল অ্যাপ্লিকেশনের জন্য উপযোগী।
ডেটাবেস থেকে বারবার ডেটা ফেচ করার পরিবর্তে ডেটা ক্যাশে সংরক্ষণ করা হয়। এটি ডেটাবেস লোড কমাতে এবং অ্যাপ্লিকেশনের পারফরম্যান্স বাড়াতে সহায়ক।
একটি নির্দিষ্ট অ্যাকশন বা পুরো পেজের আউটপুট ক্যাশে সংরক্ষণ করা হয়। এটি একাধিক রিকোয়েস্টের জন্য একই আউটপুট রিটার্ন করতে ব্যবহৃত হয়।
Output Caching ASP.Net MVC-তে একটি সাধারণ এবং শক্তিশালী ক্যাশিং কৌশল, যা একটি অ্যাকশনের আউটপুট ক্যাশে সংরক্ষণ করে। ক্যাশে থাকা আউটপুট নির্দিষ্ট সময় পর্যন্ত পুনরায় ব্যবহার করা হয়, ফলে একই ডেটা তৈরি করতে বারবার কন্ট্রোলার বা ডাটাবেস অ্যাক্সেস করার প্রয়োজন হয় না।
Output Caching সহজেই [OutputCache]
অ্যাট্রিবিউট ব্যবহার করে কন্ট্রোলার অ্যাকশন বা পুরো কন্ট্রোলারে প্রয়োগ করা যায়।
[OutputCache(Duration = 60)]
public ActionResult Index()
{
ViewBag.Time = DateTime.Now.ToString();
return View();
}
এখানে Duration = 60
নির্দেশ করে যে আউটপুট ৬০ সেকেন্ডের জন্য ক্যাশে সংরক্ষণ করা হবে। এর ফলে ৬০ সেকেন্ডের মধ্যে একই অ্যাকশনের জন্য নতুন রেসপন্স জেনারেট করার প্রয়োজন হবে না।
Duration
কত সেকেন্ডের জন্য ক্যাশ সংরক্ষণ করা হবে তা নির্ধারণ করে।
[OutputCache(Duration = 120)]
VaryByParam
ক্যাশিংকে প্যারামিটারের ওপর ভিত্তি করে আলাদা করে।
[OutputCache(Duration = 60, VaryByParam = "id")]
উপরের উদাহরণে, id
প্যারামিটারের মান পরিবর্তন হলে আলাদা ক্যাশ তৈরি হবে।
VaryByCustom
কাস্টম রুল অনুযায়ী ক্যাশিং করা যায়।
[OutputCache(Duration = 60, VaryByCustom = "browser")]
এটি ব্রাউজার অনুযায়ী আলাদা ক্যাশ তৈরি করবে।
NoStore
ক্যাশ তৈরি থেকে বিরত রাখে।
[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]
Caching Techniques এবং Output Caching ASP.Net MVC অ্যাপ্লিকেশনের কার্যকারিতা এবং পারফরম্যান্স উন্নত করতে অত্যন্ত গুরুত্বপূর্ণ। Output Caching দ্রুত এবং সহজ পদ্ধতিতে একটি অ্যাকশনের আউটপুট ক্যাশে সংরক্ষণ করে, যা সার্ভারের লোড কমাতে সহায়ক। প্রজেক্টের চাহিদা অনুযায়ী সঠিক ক্যাশিং পদ্ধতি প্রয়োগ করে অ্যাপ্লিকেশনের কার্যক্ষমতা এবং ব্যবহারকারীর অভিজ্ঞতা উন্নত করা সম্ভব।
common.read_more